Drone localization

ABSTRACT

An apparatus is configured to perform a method for collaborative localization of multiple devices in a geographic area including receiving global localization data originating with one or more neighboring devices, receiving local localization data originating with a mobile device, determining a first confidence level from the local localization data, determining a second confidence level from the global localization data, and performing, by a processor, a collaborative localization calculation for the mobile device based on the first confidence level and the second confidence level.

FIELD

The following disclosure relates to the collaborative localization ofmobile devices base on more than one localization technique through anetwork of the mobile devices.

BACKGROUND

The Global Positioning System (GPS) or another global navigationsatellite system (GNSS) provides location information to a receivingdevice anywhere on Earth as long as the device has a substantial line ofsight without significant obstruction to three or four satellites of thesystem. The accuracy of GPS changes over time and is not reliable enoughfor some applications, or in some areas.

GPS calculations may vary according to the specific GPS receiver or theposition and availability of GPS satellites because clustered satellitesmay cause errors. The accuracy of GPS may depend on the path of the GPSsignals as they are affected by objects such as terrain, buildings, orweather. Some GPS signals may reflect from these objects. The GPSreceiver may receive both the original, direct signal and the new,reflected signal. The resulting errors introduced in the GPScalculations are multipath errors or multipath interference.

SUMMARY

In one embodiment, a method for collaborative localization of multipledevices in a geographic area including receiving global localizationdata originating with one or more neighboring devices, receiving locallocalization data originating with a mobile device, determining a firstconfidence level from the local localization data, determining a secondconfidence level from the global localization data, and performing, by aprocessor, a collaborative localization calculation for the mobiledevice based on the first confidence level and the second confidencelevel.

In one embodiment an apparatus for collaborative localization ofmultiple devices in a geographic area including a localization databaseand a collaborative localization controller. The localization databaseincludes global localization data originating with one or moreneighboring devices and associated with a first confidence level andlocal localization data originating with a mobile device and associatedwith a second confidence level. The collaborative localizationcontroller configured to perform a collaborative localizationcalculation for the mobile device based on the first confidence leveland the second confidence level.

In one embodiment a system for collaborative localization of multipledevices in a geographic area includes a mobile device and a drone. Themobile device is configured to perform a first localization andcalculate a first confidence level. The drone is configured to perform asecond localization and calculate a second confidence level. Acollaborative localization calculation for a location of the mobiledevice is based on the first confidence level, the second confidencelevel, the first localization, and the second localization.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present invention are described herein withreference to the following drawings.

FIG. 1 illustrates an example system for collaborative localizationamong mobile devices.

FIG. 2 illustrates an example localization technique for the system ofFIG. 1.

FIG. 3 illustrates another example localization technique for the systemof FIG. 1.

FIG. 4 illustrates an example collaborative localization technique.

FIG. 5 illustrates another example collaborative localization technique.

FIG. 6 illustrates another example collaborative localization technique.

FIG. 7 illustrates another example collaborative localization technique.

FIG. 8 illustrates another example collaborative localization technique.

FIG. 9 illustrates another example collaborative localization technique.

FIG. 10 illustrates exemplary vehicles of the systems of FIGS. 1-9.

FIG. 11 illustrates an example server.

FIG. 12 illustrates an example mobile device.

FIG. 13 illustrates an example flowchart for the mobile device of FIG.12.

FIGS. 14 and 15 illustrate example geographic databases.

DETAILED DESCRIPTION

GPS positioning may be partially or fully inoperable in varioussituations. For example, multipath errors may cause partial interruptionof GPS positioning in urban areas. Multipath occurs when the GPSsatellite signal take a reflective path to the receiver. The accuracy ofGPS may have a greater degree of error (higher resolution) than otherpositioning technologies. The other position technologies may be used toaugment the GPS technologies.

Fifth generation wireless systems (5G) include a variety of technologiesand protocols. For example, massive multiple in multiple out (MIMO)which may include multiple receiving antennas and/or multiple sendingantennas. Some examples may include 64 receiving antennas and 64 sendingantennas or 128 receiving antennas and 128 sending antennas. Additionalantennas provide increased number of transmit and send streams, whichincreases bandwidth. 5G will also include improved native machine tomachine (peer to peer) communication.

The following embodiments relate to several technological fieldsincluding but not limited to positioning technologies in navigation,autonomous driving, assisted driving, traffic applications, and otherlocation-based systems. The following embodiments achieve advantages ineach of these technologies as positioning techniques are made moreaccurate as well as consistent over a geographic area. Improvedpositioning improves navigation because user devices may be routed moreprecisely from an origin to the destination. Indoor navigationtechnologies more easily achieve the resolution necessary to traversehallways and other narrow spaces. Autonomous driving technology isimproved by the improved positioning technology because vehicles can becontrolled (e.g., steering, acceleration, braking) accurately even whenGPS positioning is not fully available or accurate enough for autonomousdriving. Similarly, warnings provided by assisted driving are moreaccurate with improved positioning, eliminating false positives anderrors in the warnings. In addition, users of navigation, autonomousdriving, assisted driving, traffic applications, and otherlocation-based systems are more willing to adopt these systems given thetechnological advances in positioning.

FIG. 1 illustrates an example system for collaborative localizationamong mobile devices. The system includes a server 125 including acollaborative localization controller 121 and a geographic database 123.The server 125 communicates via network 127 to one or more devices.Example devices include mobile device 122, vehicle 124, aerial vehicle131, and personal device 132. The devices may communicate directlythrough peer to peer network 137. The peer to peer network 137 may allowad hoc connections between the devices. The devices may also communicatewith each other through the network 127.

Collaborative localization may mean that multiple devices collaborate tocalculate the locations of at least one of the mobile devices.Localization is the process of calculating the location of a mobiledevice. Various localization techniques may include signal-basedranging, object-based ranging, triangulation, trilateration or othertechniques. Localization techniques may be performed at devicesincluding mobile device 122, vehicle 124, aerial vehicle 131, andpersonal device 132. The localization technique may be performed atcollaborative localization controller 121.

Signal based ranging may include an angle of arrival calculation todetermine an angle that a propagating wave is incident on an antenna.With respect to a baseline direction (e.g., parallel with the surface ofthe earth, gravity, or a cardinal direction such as north, west, east,south), the angle of arrival calculation determines an angle between therecipient of the propagating wave (e.g., mobile device 122) and atransmitter (e.g., base station or tower).

In one example, the angle of arrival calculation compares the strengthof the signal from two separate parts of the antenna. The separate partsmay be different antenna elements spaced by a predetermined distance. Inanother example, the receiving is rotated to determine a position withthe signal is at a maximum at a particular antenna element or portion ofthe antenna.

Ranging may include received signal strength, which may a receivedsignal strength indicator (RSSI) measured at the device. The RSSI maydecrease proportionally to the square of the distance. A filter, such asa Kalman filter, may be applied by the mobile terminal or thecollaborative localization controller 121. The filter may compare aseries of measurements in time and associated uncertainties to generateaccurate estimation of the measurements. An independent estimate of thechanging position of the mobile terminal, which may be determined fromcontrol of the vehicle, GPS, or an inertial measurement unit (IMU),

Object based ranging may be based on images collected by a camera at oneof the devices including mobile device 122, vehicle 124, aerial vehicle131, and personal device 132. The images may be analyzed to identify oneor more objects with a corresponding location stored in the geographicdatabase (e.g., local database or database 123). Example objects mayinclude road signs, buildings, points of interest (POIs), roads, lanemarkers, or a geographic marker. The camera may be a visible spectrumcamera, an infrared camera, an ultraviolet camera or another camera.

Object based ranging may be based on a distance ranging system. Thedevices include mobile device 122, vehicle 124, aerial vehicle 131, andpersonal device 132, may include one or more distance data detectiondevice or sensor, such as a light detection and ranging (LiDAR) device.The distance data detection sensor may generate point cloud data. Thedistance data detection sensor may include a laser range finder thatrotates a mirror directing a laser to the surroundings or vicinity ofthe collection vehicle on a roadway or another collection device on anytype of pathway. Other types of pathways may be substituted for theroadway in any embodiment described herein. The distance ranging systemmay include a sound distance system such as sound navigation and ranging(SONAR), a radio distancing system such as radio detection and ranging(RADAR) or another sensor.

In triangulation, two or more static locations of transmitters areknown. Examples include the positions of towers or base stations. Insome examples, the known positions may be other mobile devices. Anglesare measured between lines connecting the two or more towers or basestations. Using geometric definitions of related triangles, thedistances between the two or more towers or based stations and themobile device are calculated.

In trilateration, distances are known between known positions. Anglesare calculated using the geometric definitions of circles, triangles, orspheres. No angles are measured in trilateration. In a two-dimensionalplane, the distance of a mobile device to two known positions definesthe mobile distance to the intersection of two circles, which is twopoints. When the distance to a third known position is known, the systemshould define the position of the mobile device to a single point.

Each mobile terminal may include position circuitry such as one or moreprocessors or circuits for generating probe data. The probe data may begenerated by receiving GNSS signals and comparing the GNSS signals to aclock to determine the absolute or relative position of the mobileterminal. The probe data may be generated by receiving radio signals orwireless signals (e.g., cellular signals, the family of protocols knownas WiFi or IEEE 802.11, the family of protocols known as Bluetooth, oranother protocol) and comparing the signals to a pre-stored pattern ofsignals (e.g., radio map). The probe data may include a geographiclocation such as a longitude value and a latitude value. In addition,the probe data may include a height or altitude. The probe data may becollected over time and include timestamps. In some examples, the probedata is collected at a predetermined time interval (e.g., every second,ever 100 milliseconds, or another interval). In some examples, the probedata is collected in response to movement by the probe 101 (i.e., theprobe reports location information when the probe 101 moves a thresholddistance). The predetermined time interval for generating the probe datamay be specified by an application or by the user. The interval forproviding the probe data from the mobile device 122 to the server 125may be may the same or different than the interval for collecting theprobe data. The interval may be specified by an application or by theuser.

The mobile device 122 may use the probe data for local applications. Forexample, a map application may provide a map to the user of the mobiledevice 122 based on the current location. A social media application mayprovide targeted content based on the current location. A gameapplication may provide a setting or objects within the game in responseto the current location.

Communication between the mobile terminals and/or with the server 125through the network 127 may use a variety of types of wireless networks.Example wireless networks include cellular networks, the family ofprotocols known as WiFi or IEEE 802.11, the family of protocols known asBluetooth, or another protocol. The cellular technologies may be 5Gwireless protocols but may optionally include one or more of analogadvanced mobile phone system (AMPS), the global system for mobilecommunication (GSM), third generation partnership project (3GPP), codedivision multiple access (CDMA), personal handy-phone system (PHS), and4G or long-term evolution (LTE) standards, DSRC (dedicated short-rangecommunication), or another protocol.

In FIG. 1, one or more vehicles 124 are connected to the server 125though the network 127. The mobile device 122, vehicle 124, aerialvehicle 131, and personal device 132, which may be referred tocollectively or individually as mobile terminals. The mobile terminalsmay communicate directly with the server 125 or through another one ofthe mobile terminals. For example, the vehicles 124 may be directlyconnected to the server 125 or through an associated mobile device 122.A map developer system, including the server 125 and a geographicdatabase 123, exchanges (e.g., receives and sends) data from thevehicles 124. The mobile devices 122 may include local databasescorresponding to a local map, which may be modified according to theserver 125. The local map may include a subset of the geographicdatabase 123 and are updated or changed as the mobile terminals travel.The mobile devices 122 may be standalone devices such as smartphones ordevices integrated with vehicles.

The aerial vehicles 131 may include any flying vessel, which may bemanned or unmanned, including helicopters, hovercraft, or an unmannedaerial vehicle (UAV). The UAV may be a drone. The drone may includemultiple blades for lift and propulsion. The drone may be agile inflight and moveable in multiple degrees of freedom. The drones mayoperate autonomously or be remotely controlled by a nearby user usingradio frequency or other wireless commands, which may be routed throughthe network 127. The copter class of UAVs or drones may include anynumber of spinning blades that create lift by forcing air downward or inother directions. The aerial vehicles 131 may provide positioningassistance to other mobile terminals. The aerial vehicles 131 may alsoprovide other functions such as surveillance, aerial photography,surveying, package delivery, robot waiters, and other applications.

The personal device 132 may be a wearable device including amicrocontroller. The personal device 132 may be worn on a human body.The personal device 132 may be a tracking device that returns a positionto the server 125. The tracking device may include a color or other typeof shoe or clothing for children or animals. The personal device 132 mayinclude a pair of glasses or other heads up device including a display.The personal device 132 may include a smartwatch, a fitness tracker, aglove, or other type of device. Additional, different, or fewercomponents may be included.

The following embodiments determine a position of a particular mobileterminal, which may be referred to as a selected mobile terminal, basedon data from the selected mobile terminal and one or more mobileterminals in the vicinity of the selected mobile terminal. The termvicinity may mean within direct peer to peer communication using peer topeer network 137.

The collaborative localization controller 121 may receive localizationdata from the mobile terminals. The collaborative localizationcontroller 121 may receive local localization data originating with theselected mobile terminal and receive global localization dataoriginating with one or more neighboring devices that is in the samegeographic area as the mobile terminal.

The collaborative localization controller 121 may identify or determinea first confidence level (local confidence level) from the locallocalization data. The local localization data may include a time seriesof data collected over a time period. The time period may be defined bya predetermined number of samples. The time period may be 100milliseconds, 500 milliseconds, 1 second or another a relatively shortamount of time. The predetermined number of samples may be 10 samples,100 samples, or 1000 samples. In these examples, a sampling rate of 1kHz or 1000 samples per second may be used. The collaborativelocalization controller 121 may sample the local localization data orreceive the samples for the time period.

The time series of data includes a set of measurements collected for thelocal localization data. The measurements may include sensor data suchas GPS signals, signal strength data from one or more base stations ortowers, angle data from one or more base stations or towers, object datafrom one or more distance ranging sensors, or other sensor data. Themeasurements may include the calculated geographic coordinates from thesensor data. The mobile terminal or collaborative localizationcontroller 121 may be configured to calculate a relative positionbetween the mobile device and the one or more neighboring devices basedon time of arrival, time difference of arrival, angle of arrival,trilateration, or triangulation.

The local confidence level may be calculated based on a statisticalanalysis. The local confidence level may describe how confident theaverage value over the time period for the measurement data describesthe actual value of the parameter described in the measurement data. Forexample, when the measurement data is sensor data for a signal strength,the local confidence level describes how close the measured signalstrength data is to the actual signal strength. When the measurementdata is a geographic location, the local confidence level describes howclose the measured geographic location is to the actual geographiclocation. The local confidence level may be inversely related (e.g.,inversely proportional, or negatively exponentially) to the variance orstandard deviation in the measurement data over the time period.

The time period may be selected according to the type of mobileterminal. The time period may be selected according to the likelihoodthat the mobile terminal is moving and/or the potential speed range ofthe mobile terminal. For example, mobile devices 122 such as smartphones may use a first time period, vehicles 124 may use a second timeperiod, and aerial vehicles 131 may use a third time period. The timeperiod for the type of mobile terminal may depend on historical data forthat type of mobile terminal. The time period may also be based on aspecific user or specific mobile terminal. The time period may be basedon the historical movement of the mobile terminal.

The local confidence level may be calculated or determined based on thetype of localization or the type of sensor used. For example, the mobileterminals or collaborative localization controller 121 may include atable that associates localization techniques with confidence levels.Object based distance detection systems may be associated with a firstconfidence level, Image based positioning may be associated with asecond confidence level, signal based ranging may be associated with athird confidence level, triangulation may be associated with a fourthconfidence level, and trilateration may be associated with a fifthconfidence level. The first confidence level may be higher than thesecond confidence level, which is higher than the third confidencelevel, which is higher than the fourth confidence level, which is higherthan the fifth confidence level. However, any of the localizationtechniques may be ranked and have variable confidence levels based on ananalysis of historical data or testing.

The collaborative localization controller 121 may identify or determinea second confidence level (global confidence level) from the globallocalization data from the one or more neighboring devices. The globallocalization data may include a time series of data collected over atime period. The time period may be defined by a predetermined number ofsamples or length of time.

The time series of data includes a set of measurements collected for theglobal localization data. The set of measurements may describe an imageof an object near the one or more mobile devices. The object may be amarker in a previously recorded position.

In addition or in the alternative, the global localization data mayinclude sensor data such as GPS signals, signal strength data from oneor more base stations or towers, angle data from one or more basestations or towers, object data from one or more distance rangingsensors, or other sensor data. The measurements may include thecalculated geographic coordinates from the sensor data.

The confidence level for the global localization data may be calculatedbased on a statistical analysis. The confidence level may describe howconfident the average value over the time period for the measurementdata describes the actual value of the parameter described in themeasurement data. When the measurement data includes images for ageographic marker, the confidence level may be calculated based on howwell the marker is identified. That is, the marker may be matched usingimage processing or computer vision techniques, and the confidence levelis calculated based on the performance of these techniques.

In addition, when the measurement data is sensor data for a signalstrength, the confidence level describes how close the measured signalstrength data is to the actual signal strength. When the measurementdata is a geographic location, the confidence level describes how closethe measured geographic location is to the actual geographic location.The confidence level may be inversely related (e.g., inverselyproportional, or negatively exponentially) to the variance or standarddeviation in the measurement data over the time period.

The time period for the second confidence level for the globallocalization data may be selected according to the type of mobileterminal. Aerial vehicles imaging markers may have a specific timeperiod. The global confidence level may be calculated or determinedbased on the type of localization or the type of sensor used. Forexample, the mobile terminals or collaborative localization controller121 may include a table that associates localization techniques withconfidence levels.

The collaborative localization controller 121 may perform acollaborative localization calculation for the mobile device based onthe first confidence level and the second confidence level. Thecollaborative localization controller 121 may compare the firstconfidence level and the second confidence level. The collaborativelocalization controller 121 may determine whether the local confidencelevel or the global confidence level is greater, and by how much. Forexample, when the local confidence level exceeds the global confidencelevel, the collaborative localization controller 121 selects theposition determined from the local localization technique as theposition of the mobile device. Conversely, when the global confidencelevel exceeds the local confidence level, the collaborative localizationcontroller 121 selects the position determined from the globallocalization technique as the position of the mobile device.

In other examples, the collaborative localization controller 121 maycombine the local and global localization results. For example, when thelocal localization technique is within a predetermined range (e.g., apercentage such as 5%) of the global localization technique, thecollaborative localization controller 121 may average the positionsdetermined from the two techniques.

More than two and any number of confidence levels may be compared by thecollaborative localization controller 121. The collaborativelocalization controller 121 may receive localization data from multiplemobile terminals and/or using multiple localization techniques. Thecollaborative localization controller 121 may determine confidencelevels for each of the mobile terminals and/or localization techniquesand compare the confidence levels. The collaborative localizationcontroller 121 may perform a collaborative localization calculation forthe mobile device based on the comparison by selecting the highestconfidence level and position data from the corresponding mobileterminal and/or localization technique. Alternatively, the defaultlocalization provided by the collaborative localization controller 121may be the local localization unless the global confidence level exceedsa collaboration threshold. The collaborative localization controller 121may compare the global confidence level to a collaboration threshold,and in response to the global confidence interval exceeding thethreshold, provide the global localization data rather than the locallocalization data.

FIG. 2 illustrates an example localization technique for the system ofFIG. 1. FIG. 2 includes the mobile device 122, the vehicle 124, and theaerial vehicle 131, but may be applied to any type of mobile terminal.Each of these devices may perform two positioning or localizationtechniques, including local localization module 41 configured to performlocal localization calculations and global localization module 42configured to perform global localization calculations. Each of thesedevices may include a local database 43, which may be a subset of thegeographic database 123. The local localization is based on datacollected at the respective mobile terminal. The global localization isadditionally or alternatively based on data collected at other mobileterminals.

The local localization may include is based on data collected at therespective mobile terminal. As described herein, the local localizationmay include signal-based ranging, object-based ranging, triangulation,trilateration or other techniques.

The global localization may include data collected at one or more mobileterminals that are neighboring the mobile terminal. Neighboring mobileterminals may be mobile terminals that are within range of directcommunication with the selected mobile terminal.

The mobile terminal may receive global localization data originatingwith one or more neighboring devices and receive local localization dataoriginating with the mobile device. For example, in FIG. 2 the mobiledevice 122 may perform a first localization using data collected at themobile device 122, and the mobile device 122 may perform a secondlocalization using data collected at the vehicle 124 and/or the aerialvehicle 131. That is, for each respective global localization module 42in FIG. 2, the results of the localization module 41 at the otherdevices are received and provides as inputs for calculating the globallocation. The data collected at any individual mobile terminal providesthe basis for the local localization for that mobile terminal, and thedata collected at the neighboring mobile terminals provide the basis forthe global localization.

The mobile terminal may calculate confidence levels for the locallocalization data and the global localization data. As described herein,the confidence levels may be determined based on a statistical analysisof the data (e.g., confidence interval from the variance in the dataover a time period).

The mobile terminal may compare the confidence levels to determine acollaborative localization from the local and global localizationtechniques. In one example, the localization technique with the highestconfidence level is selected and used as the position for the mobileterminal. In other examples, the global and local localization resultsare combined. Alternatively, the default localization provided by mobileterminal may be the local localization unless the global confidencelevel exceeds a collaboration threshold. The mobile terminal may comparethe global confidence level to a collaboration threshold, and inresponse to the global confidence interval exceeding the threshold,provide the global localization data rather than the local localizationdata.

FIG. 3 illustrates another example localization technique for the systemof FIG. 1. FIG. 3 includes a relative location reference module 44. Therelative location reference module 44 may calculate a location of themobile terminal between two reference points (e.g., between two nodes ofa road network) or along a reference length (e.g., along a rod segmentof a road network).

The location estimated from the relative location reference module 44may be shared with other mobile terminals and used in globallocalization by the other mobile terminals. The relative locationreference module 44 may estimate the relative distance from aconvergence of the swarm intelligence algorithms. The relative locationallows module 44 to calculate the relative distance from neighboringnodes such that when the neighboring nodes acquire global localizationinformation, it automatically allows module 44 to obtain its own globallocalization. Global localization can come from cell-tour triangulation.

FIGS. 4-9 illustrate scenarios for the system of FIGS. 1-3 to providecollaborative localization technique. Each of FIGS. 4-9 depicts anarrangement of mobile terminals such that localization provided at oneor more of the mobile terminals assists localization at another mobileterminal.

FIG. 4 illustrates an example collaborative localization technique for aset of mobile terminals includes an aerial vehicle 131 and a mobiledevice 122. Each of the aerial vehicle 131 and the mobile device 122 mayperform a local localization as well as a global localization based ondata received from the other mobile terminal.

The mobile device 122 may perform local localization based on signalsreceived from base stations or towers 135. The local localization mayuse any combination of signal-based ranging, triangulation,trilateration or other techniques.

The aerial vehicle 131 may perform local localization for the aerialvehicle 131 based on marker 133. The marker 133 may be associated with aparticular geographic location, for example, as stored in geographicdatabase 123.

The marker 133 may include data for a geographic location encoded as aquick response (AR) code, a universal product code (UPC), analphanumeric code, a hexadecimal code, a binary code, a geometric shape,or another code. For example, an alphanumeric code may representlatitude and longitude coordinates.

The aerial vehicle 131 (or the collaborative localization controller121) may detect marker 133 using a camera. An image processing techniquemay be used to analyze an image collected by the camera to identify thedata encoded for the geographic location.

The aerial vehicle 131 may also calculate a distance to the marker 133.The distance may be determining in a variety of techniques. The distancemay be calculated from the image of the marker 133. For example, thesize of the marker 133 in the image may determine how far away themarker 133 is from the aerial vehicle 131. For example, one or morecamera properties such as focal length, zoom, and image dimensions maydetermine the spatial resolution of the image. The spatial resolutionmay represent how many pixels in the image corresponds to a unit oflength or area in the geographic space. From the spatial resolution, theaerial vehicle 131 (or the collaborative localization controller 121)may measure the image size of the marker 133 and calculate thegeographic distance to the marker 133. The geographic distance to themarker 133 is used to calculate the height or altitude of the aerialvehicle 131.

In a similar manner, the aerial vehicle 131 (or the collaborativelocalization controller 121) may determine an orientation or an anglebetween the aerial vehicle 131 and the marker 133. The aspect ratio orone or more dimensions of features of the marker 133 may indicate theangle. For example, a cross viewed at an angle will appear to havelonger crossbars at the side closer to the camera and shorter crossbarsat the side farther from the camera. The height or altitude of theaerial vehicle 131 may be calculated from the angle between the aerialvehicle 131 and the marker 133.

The aerial vehicle 131 may also detect a height or altitude of theaerial vehicle 131 from sensor data. The sensor data may includepressure measurements, GPS measurements, or measurements from an IMU.

The aerial vehicle 131 performs local localization of the aerial vehicle131 based on one or more of the identity of the marker 133 matched togeographic database 123, the orientation or angle of the marker 133calculated from an image of the marker 133, and/or the height of theaerial vehicle 131 determined from sensor data.

The aerial vehicle 131 may utilize a simultaneous localization andmapping (SLAM) protocol to generate a map at the same time that themarkers 133 are used to estimate latitude, longitude, and altitude. TheSLAM protocol may also incorporate a separate altitude measurement.

SLAM algorithms from the SLAM protocol may be utilized to build anartifact or database of reference markers with image processinginformation. The database may be used to convert image-size andperspective to altitude or height of the aerial vehicle 131 in referenceto the marker 133.

In some examples, one or more highly equipped aerial vehicles 131 maygenerate the artifact or database and other aerial vehicles 131 may usethe artifact or database. The SLAM algorithm is used in generating thisartifact/database may include advanced sensors (e.g., vision, LIDARsensors, etc.) to obtain and store this data a priori. Subsequently,other aerial vehicles with less-equipped sensors (e.g. camera only)traverse the same location, these aerial vehicles are able to infertheir localization from the database.

The results of local localization in the aerial vehicle 131 may be sentto the mobile device 122 for the global localization from the peer topeer network 137. The distance between the aerial vehicle 131 and themobile device 122 may be determined from an analysis of the signalstransmitted through the peer to peer network 137. The analysis mayinclude a comparison of a signal strength (e.g., RSSI or another powermeasurement) to one or more expected signal strengths. The analysis mayinclude the free space path loss relationship between signal strengthand distance. The aerial vehicle 131 (or the collaborative localizationcontroller 121) performs collaborative localization by combining thelocalization from the aerial vehicle 131 with the localization from themobile device 122.

FIG. 5 illustrates another example collaborative localization techniquefor a set of mobile terminals includes an aerial vehicle 131 and two ormore mobile devices 122. Each of the aerial vehicle 131 and the mobiledevices 122 may perform a local localization as well as a globallocalization based on data received from the other mobile terminal. Forexample, the aerial vehicle 131 may determine localization from the SLAMdatabase and relative locations from the peer-to-peer communication(e.g., 5G network), which are combined for the local localization of theaerial vehicle 131.

Each of the mobile devices 122 may perform local localization based onsignals received from base stations or towers 135. The locallocalization may use any combination of signal-based ranging,triangulation, trilateration or other techniques. Each of the mobiledevices 122 may calculate a confidence level for their respective locallocalization. The confidence level may be impacted by the proximity andnumber of base stations or towers from which the localization isperformed. As shown in FIG. 4, one of the mobile devices 122 performslocalization from one tower 135, which may correspond to a lowconfidence level, and one of the mobile devices 122 performslocalization from two towers 135, which may correspond to a highconfidence level.

The aerial vehicle 131 may perform local localization for the aerialvehicle 131 based on marker 133. The marker 133 may be associated with aparticular geographic location, for example, as stored in geographicdatabase 123. The aerial vehicle 131 may calculate a confidence levelfor the localization based on marker 133. The confidence level maydepend on calculations from the marker 133 using computer vision orimage processing techniques. The confidence level may depend on thespatial resolution of the marker 133 or the calculations in the patternmatching algorithm in identifying the marker 133. The confidence levelmay depend on one or more camera properties. Localization from themarker 133 may have a set confidence level.

The aerial vehicle 131 may select between multiple markers 133. Themarkers 133 may be on a roadway 140, adjacent to roadway 140, on abuilding 141, or another location. As shown in FIG. 4, a single aerialvehicle 131 may be in range of imaging two or more markers 133. Theaerial vehicle 131 may compare the markers to select the better marker133. The aerial vehicle 131 may compare the confidence levels of the twoor more markers 133 and select the highest confidence level.

The aerial vehicle 131 may generate a navigation command or flyingcommand based on the markers 133. For example, the aerial vehicle 131may increase the confidence level by flying closer to a marker 133.

The aerial vehicle 131 may perform localization using the marker 133with the higher confidence level. The aerial vehicle 131 may performlocalization using the two or more markers 133 in combination. Theaerial vehicle 131 performs local localization of the aerial vehicle 131based on one or more of the identity of the marker 133 matched togeographic database 123, the orientation or angle of the marker 133calculated from an image of the marker 133, and/or the height of theaerial vehicle 131 determined from sensor data.

The results of local localization in the aerial vehicle 131, which mayinclude a confidence level for each of two or more markers 133, may besent to the mobile device 122 for the global localization from the peerto peer network 137. The distance between the aerial vehicle 131 and themobile device 122 may be determined from an analysis of the signalstransmitted through the peer to peer network 137. The analysis mayinclude a comparison of a signal strength (e.g., RSSI or another powermeasurement) to one or more expected signal strengths. The analysis mayinclude the free space path loss relationship between signal strengthand distance. The aerial vehicle 131 (or the collaborative localizationcontroller 121) performs collaborative localization by combining thelocalization from the aerial vehicle 131 with the localization from themobile device 122.

FIG. 6 illustrates another example collaborative localization techniqueincluding a mobile device 122 in communication with multiple aerialvehicles 131. Any of the mobile terminals (e.g., mobile device 122) mayidentify or determine a first confidence for localization at the mobileterminal, may identify or determine a second confidence level from afirst neighboring device and may identify or determine a thirdconfidence level from a second neighboring device. The mobile terminalmay perform a comparison of the second confidence level to the thirdconfidence level and select the first neighboring device or the secondneighboring device for the collaborative localization calculation basedon the comparison.

Each of the aerial vehicles 131 may detect a different marker 133 usingthe techniques described herein. One or more of the aerial vehicles 131may detect no marker.

The mobile device 122 may perform global localization using the locationdata determined from each of the aerial vehicles 131 by analyzing themarkers 133. The global localization of the mobile device 122 maycombine (e.g., average) the local localization results from each of theaerial vehicles 131.

The mobile device 122 may perform global localization using the locationdata determined from each of the aerial vehicles 131 by selecting one ofthe aerial vehicles 131 have the most accurate local localization. Eachof the aerial vehicles 131 may calculate a confidence level and forwardthe confidence level to the mobile device 122, which compares theconfidence levels and selects the aerial vehicle 131 having the highestconfidence level. The mobile device 122 may use the location receivedfrom the aerial vehicle 131 having the highest confidence level.

The mobile device 122 may also compare the confidence level of theaerial vehicle 131 to a confidence level calculation at the mobiledevice 122 for the local localization technique of the mobile device122. The mobile device 122 may perform local localization based onsignals received from base stations or towers 135. The locallocalization may use any combination of signal-based ranging,triangulation, trilateration or other techniques. When the confidencelevel for the local localization based on signals received from basestations or towers 135 is greater than the confidence level from theaerial vehicle 131, the mobile device's local localization results areselected for the location estimate. When the confidence level from theaerial vehicle 131 is greater than the local localization based onsignals received from base stations or towers 135, the aerial vehicle'slocalization results are selected for the location estimate.

FIG. 7 illustrates another example collaborative localization techniquefor a mobile terminal and at least one neighboring device. The mobileterminal and/or the at least one neighboring device are configured togenerate a flight command for the one or more neighboring devices basedon confidence levels from the global localization data compared to acollaborative location threshold. For example, an aerial vehicle 131contributes to the collaborative localization by moving to optimallocations where its own sensors than produce the most accurate locationestimates and supply this to the network so that all nodes can benefitfrom this up to date information.

The example of FIG. 7 includes a set of mobile terminals includes anaerial vehicle 131 and a mobile device 122. Each of the aerial vehicle131 and the mobile devices 122 may perform a local localization as wellas a global localization based on data received from the other mobileterminal. Each of the aerial vehicle 131 and the mobile devices 122 maycalculate a confidence level based on any of the techniques describedherein.

The mobile device 122 may perform comparison the confidence levels or acomparison of the confidence level from the aerial vehicle to thecollaboration threshold. The mobile device 122 may generate a navigationcommand or flying command based on the comparison or instruct the aerialvehicle 131 to generate a navigation command or flying command based onthe comparison.

The instruction from the mobile device 122 to the aerial vehicle 131 mayrequest a better estimate for the local localization performed by theaerial vehicle 131. The instruction from the mobile device 122 mayrequest that the aerial vehicle 131 improve the confidence level byperforming additional measurements for localization. The aerial vehicle131 may travel in the direction of the marker 133 in order to improvethe confidence level of the localization. Traveling towards the marker133 may improve the resolution or size in the image of the marker 133.

Alternatively, the instruction from the mobile device 122 to the aerialvehicle 131 may include a command for the aerial vehicle 131 to traveltoward the marker 133 or reduce altitude. Alternatively, the instructionfrom the mobile device 122 to the aerial vehicle 131 may include acommand for the aerial vehicle 131 to travel toward the mobile device122.

FIG. 8 illustrates another example collaborative localization techniquefor a set of mobile terminals including an aerial vehicle 131 and avehicle 124. Each of the aerial vehicle 131 and the vehicle 124 mayperform a local localization as well as a global localization based ondata received from the other mobile terminal.

The vehicle 124 may perform local localization based on signals receivedfrom GPS signals or signals from base stations or towers 135. The locallocalization may use any combination of signal-based ranging,triangulation, trilateration or other techniques.

The aerial vehicle 131 may perform local localization for the aerialvehicle 131 based on marker 133. The marker 133 may be associated with aparticular geographic location, for example, as stored in geographicdatabase 123. The aerial vehicle 131 may also detect a height oraltitude of the aerial vehicle 131 from sensor data. The sensor data mayinclude pressure measurements, GPS measurements, or measurements from anIMU.

The aerial vehicle 131 performs local localization of the aerial vehicle131 based on one or more of the identity of the marker 133 matched togeographic database 123, the orientation or angle of the marker 133calculated from an image of the marker 133, and/or the height of theaerial vehicle 131 determined from sensor data.

The results of local localization in the aerial vehicle 131 may be sentto the vehicle 124 for the global localization from the peer to peernetwork 137. The distance between the aerial vehicle 131 and the vehicle124 may be determined from an analysis of the signals transmittedthrough the peer to peer network 137. The analysis may include acomparison of a signal strength (e.g., RSSI or another powermeasurement) to one or more expected signal strengths. The analysis mayinclude the free space path loss relationship between signal strengthand distance. The aerial vehicle 131 (or the collaborative localizationcontroller 121) performs collaborative localization by combining thelocalization from the aerial vehicle 131 with the localization from themobile device 122.

The vehicle 124 may determine whether the use the localization of thevehicle 124 or the localization of the aerial vehicle 131. The vehicle124 may compare the confidence level of the aerial vehicle 131 to theconfidence of the vehicle 124 and select the localization with thehigher confidence. The vehicle 124 may translate the location of theaerial vehicle 131 to the reference point of the vehicle 124 based onthe distance and direction of a vector between the aerial vehicle 131and the vehicle 124.

FIG. 9 illustrates another example collaborative localization techniquefor two or more vehicles 124. One of the vehicles may performlocalization from GPS signals or signals from base stations or towers135. The local localization may use any combination of signal-basedranging, triangulation, trilateration or other techniques. The othervehicle may receive localization data from the aerial vehicle 131. Thevehicles 124 may exchange location data from the respective localizationtechniques. One or both of the vehicle 124 may calculate a distance anddirection (e.g., difference vector). Each of the vehicles 124 mayevaluate the location data from the respective localization techniquesalong with the difference vector to calculate global localization forthe vehicle 124.

FIG. 10 illustrates an exemplary aerial vehicle 131 and exemplaryvehicle 124, which may be referred to individually or collectively asvehicles, of the systems of FIGS. 1-9. The vehicles may include a globalpositioning system, a dead reckoning-type system, cellular locationsystem, or combinations of these or other systems, which may be referredto as position circuitry or a position detector. The positioningcircuitry may include suitable sensing devices that measure thetraveling distance, speed, direction, and so on, of the vehicle. Thepositioning system may also include a receiver and correlation chip toobtain a GPS or GNSS signal. Alternatively or additionally, the one ormore detectors or sensors may include an accelerometer built or embeddedinto or within the interior of the vehicle.

A connected vehicle includes a communication device and an environmentsensor array for reporting the surroundings of the vehicle to the server125. The vehicle 124 may include an integrated communication devicecoupled with an in-dash navigation system. The connected vehicle mayinclude an ad-hoc communication device such as a mobile device 122 orsmartphone in communication with a vehicle system. The communicationdevice connects the vehicle to a network including at least one othervehicle and at least one server. The network may be the Internet orconnected to the internet.

The sensor array may include one or more sensors configured to detectsurroundings of the vehicle. The sensor array may include multiplesensors. Example sensors include an optical distance system such asLiDAR 116, an image capture system 115 such as a camera, a sounddistance system such as sound navigation and ranging (SONAR), a radiodistancing system such as radio detection and ranging (RADAR) or anothersensor. The camera may be a visible spectrum camera, an infrared camera,an ultraviolet camera or another camera.

In some alternatives, additional sensors may be included in the vehicle124. An engine sensor 111 may include a throttle sensor that measures aposition of a throttle of the engine or a position of an acceleratorpedal, a brake sensor that measures a position of a braking mechanism ora brake pedal, or a speed sensor that measures a speed of the engine ora speed of the vehicle wheels. Another additional example, vehiclesensor 113, may include a steering wheel angle sensor, a speedometersensor, or a tachometer sensor.

A mobile device 122 may be integrated in the vehicle 124, which mayinclude assisted driving vehicles such as autonomous vehicles, highlyassisted driving (HAD), and advanced driving assistance systems (ADAS).Any of these assisted driving systems may be incorporated into mobiledevice 122. Alternatively, an assisted driving device may be included inthe vehicle 124. The assisted driving device may include memory, aprocessor, and systems to communicate with the mobile device 122. Theassisted driving vehicles may respond to geographic data received fromgeographic database 123 and the server 125 and driving commands ornavigation commands.

The term autonomous vehicle may refer to a self-driving or driverlessmode in which no passengers are required to be on board to operate thevehicle. An autonomous vehicle may be referred to as a robot vehicle oran automated vehicle. The autonomous vehicle may include passengers, butno driver is necessary. These autonomous vehicles may park themselves ormove cargo between locations without a human operator. Autonomousvehicles may include multiple modes and transition between the modes.The autonomous vehicle may steer, brake, or accelerate the vehicle basedon the position of the vehicle in order, and may respond to geographicdata received from geographic database 123 and the server 125 anddriving commands or navigation commands.

A highly assisted driving (HAD) vehicle may refer to a vehicle that doesnot completely replace the human operator. Instead, in a highly assisteddriving mode, the vehicle may perform some driving functions and thehuman operator may perform some driving functions. Vehicles may also bedriven in a manual mode in which the human operator exercises a degreeof control over the movement of the vehicle. The vehicles may alsoinclude a completely driverless mode. Other levels of automation arepossible. The HAD vehicle may control the vehicle through steering orbraking in response to the on the position of the vehicle and mayrespond to geographic data received from geographic database 123 and theserver 125 and driving commands or navigation commands.

Similarly, ADAS vehicles include one or more partially automated systemsin which the vehicle alerts the driver. The features are designed toavoid collisions automatically. Features may include adaptive cruisecontrol, automate braking, or steering adjustments to keep the driver inthe correct lane. ADAS vehicles may issue warnings for the driver basedon the position of the vehicle or based on to geographic data receivedfrom geographic database 123 and the server 125 and driving commands ornavigation commands.

FIG. 11 illustrates an example server 125, which may apply to the systemof FIG. 1. The server 125 includes a processor 300, a communicationinterface 305, a memory 301, and a database 123. Additional, different,or fewer components may be included.

The processor 300 may implement the functions associated with thecollaborative localization controller 121, the local localization module41, the global localization module 42, and the relative localizationmodule 44. The communication interface 305 receives the localizationdata from the mobile terminals. The memory 301 stores the localizationdata received from the mobile terminals. The processor 300 evaluates thelocalization data in order to determine the location of one or more ofthe mobile terminals. In addition, the communication interface 305 mayreceive confidence levels from the mobile terminals, or alternatively,the processor 300 may calculate the confidence levels. An input device(e.g., keyboard or personal computer 128) may be used to enter settingsto the server 125. The settings may include settings for assigning theconfidence levels to the localization techniques or the type of device.The settings may include priority of localization from different typesof mobile terminals. For example, the settings may establish thatlocalization based on static anchors or markers are the highest priorityor highest confidence level, localization based on distance data fromlocal objects is a medium priority or medium confidence level, andlocalization based on signal time difference or angle calculation arelow priority or low confidence level.

FIG. 12 illustrates an exemplary mobile device 122 of the system ofFIG. 1. The mobile device 122 includes a processor 200, a memory 204, aninput device 203, a communication interface 205, position circuitry 207,a display 211, and a sensor 206. The input device 203 may receivecommands from the user for default settings for the localizationtechniques. The default settings may include confidence levels fordifferent types of devices or localization techniques. FIG. 13illustrates an example flowchart for the operation of mobile device 122.Additional, different, or fewer acts may be provided.

At act S101, the processor 200 or the communication interface 205receives first localization data originating with one or moreneighboring devices. The global localization data includes localizationperformed at the one or more neighboring devices. The first localizationdata may include a location derived from an image of a marker collectedby the at least one aerial vehicle. An image of the marker is analyzedto decode a symbol or character in the marker which is matched with ageographic database.

The communication interface 205 is one example means for receivingglobal localization data originating with one or more neighboringdevices. The processor 200 may also include circuitry serving as meansfor receiving global localization data originating with one or moreneighboring devices.

At act S103, the processor 200 or the communication interface 205receives local localization data originating with a mobile device. Theprocessor 200 may perform a second localization technique to generatefirst localization data. The position circuitry 207 or the sensor 206detects a geographic position of the mobile terminal (e.g., mobiledevice 122 or the vehicle 124). The position circuitry 207 is oneexample means for detecting or determining a geographic position. Theprocessor 200 may also include circuitry serving as means for detectingor determining a geographic position. The detected geographic positionof the mobile device 122 may include a latitude and longitude pair. Thegeographic position may be detected or sampled at periodic intervals intime or distance or may be continuously detected. The sensor 206, whichmay include GNSS sensors, distancing sensors, range sensor, imagesensors, or another sensor as described with respect to FIG. 10 may alsoprovide information for determining the geographic position of themobile device 122. The communication interface 205 is one example meansfor receiving local localization data originating with a mobile device.The processor 200 may also include circuitry serving as means forreceiving local localization data originating with a mobile device.

At act S105, the processor 200 determines a first confidence level oraccuracy level from the local localization data. At act S107, theprocessor 200 determines a second confidence level or second accuracylevel from the global localization data. The first localization data mayhave a degree of accuracy that is greater that of the secondlocalization data. The degree of accuracy may be an error margin that isthe difference between the detected location and the actual location.The degree of accuracy may be measured in a distance. The degree ofaccuracy may depend on the localization technique. For example,localization techniques that are measured from static objects usingdistancing sensors, range sensors, or image sensors may have a degree ofaccuracy that is more accurate (e.g., smaller distance) than the degreeof accuracy of GNSS sensors. The degree of accuracy may depend on theambient conditions such as precipitation. The degree of accuracy maydepend on whether the mobile terminal has a line of sight to the staticobjects. The degree of accuracy may be measured from the localizationdata (e.g., consistent data indicates high accuracy and inconsistentdata indicates low accuracy). The degree of accuracy may beself-reported by the mobile terminal to the other mobile terminals. Thedegrees of accuracy may be combined with the localization data inmessages sent between mobile terminals.

At act S109, the processor 200 performs a collaborative localizationcalculation for the mobile device based on the first confidence leveland the second confidence level. The processor 200 may access acollaboration threshold from memory 201. The processor 200 may comparethe threshold to the first confidence level. When the threshold isgreater than the first confidence level, the first localization data isused. When the threshold is less than the first confidence level, thesecond localization data is used. Alternatively, the collaborativelocalization calculation may compare the first and second thresholds.When the second confidence level is greater than the first confidencelevel, the second localization data is used. When the second confidencethreshold is less than the first confidence level, the firstlocalization data is used. The processor 200 may include a routingmodule including an application specific module or processor that isconfigured to perform the collaborative localization technique.

The processor 200 may include a routing module including an applicationspecific module or processor that calculates routing between an originand destination. The routing module is an example means for generating aroute according to the selected localization data, which may be thelocal localization data or the global localization data. The routingcommand may be a driving instruction (e.g., turn left, go straight),which may be presented to a driver or passenger, or sent to an assisteddriving system. The display 211 is an example means for displaying therouting command.

The routing instructions may be provided by display 211. The mobiledevice 122 may be configured to execute routing algorithms to determinean optimum route to travel along a road network from an origin locationto a destination location in a geographic region. Using input(s)including map matching values from the server 125, a mobile device 122examines potential routes between the origin location and thedestination location to determine the optimum route. The mobile device122, which may be referred to as a navigation device, may then providethe end user with information about the optimum route in the form ofguidance that identifies the maneuvers required to be taken by the enduser to travel from the origin to the destination location. Some mobiledevices 122 show detailed maps on displays outlining the route, thetypes of maneuvers to be taken at various locations along the route,locations of certain types of features, and so on. Possible routes maybe calculated based on a Dijkstra method, an A-star algorithm or search,and/or other route exploration or calculation algorithms that may bemodified to take into consideration assigned cost values of theunderlying road segments.

The mobile device 122 may plan a route through a road system or modify acurrent route through a road system in response to the request foradditional observations of the road object. For example, when the mobiledevice 122 determines that there are two or more alternatives for theoptimum route and one of the routes passes the initial observationpoint, the mobile device 122 selects the alternative that passes theinitial observation point. The mobile devices 122 may compare theoptimal route to the closest route that passes the initial observationpoint. In response, the mobile device 122 may modify the optimal routeto pass the initial observation point.

The mobile device 122 may be a personal navigation device (“PND”), aportable navigation device, a mobile phone, a personal digital assistant(“PDA”), a watch, a tablet computer, a notebook computer, and/or anyother known or later developed mobile device or personal computer. Themobile device 122 may also be an automobile head unit, infotainmentsystem, and/or any other known or later developed automotive navigationsystem. Non-limiting embodiments of navigation devices may also includerelational database service devices, mobile phone devices, carnavigation devices, and navigation devices used for air or water travel.

In FIG. 14, the geographic database 123 may contain at least one roadsegment database record 304 (also referred to as “entity” or “entry”)for each road segment in a particular geographic region. The geographicdatabase 123 may also include a node database record 306 (or “entity” or“entry”) for each node in a particular geographic region. The terms“nodes” and “segments” represent only one terminology for describingthese physical geographic features, and other terminology for describingthese features is intended to be encompassed within the scope of theseconcepts. The geographic database 123 may also include locationfingerprint data for specific locations in a particular geographicregion. The geographic database 123 may be a localization databaseinclude static features or objects such as markers for localizationcalculations.

The geographic database 123 may include other kinds of data 310. Theother kinds of data 310 may represent other kinds of geographic featuresor anything else. The other kinds of data may include POI data. Forexample, the POI data may include POI records comprising a type (e.g.,the type of POI, such as restaurant, hotel, city hall, police station,historical marker, ATM, golf course, etc.), location of the POI, a phonenumber, hours of operation, etc.

The geographic database 123 also includes indexes 314. The indexes 314may include various types of indexes that relate the different types ofdata to each other or that relate to other aspects of the data containedin the geographic database 123. For example, the indexes 314 may relatethe nodes in the node data records 306 with the end points of a roadsegment in the road segment data records 304.

As another example, the indexes 314 may static marker data 308 with ageographic location or a road segment in the segment data records 304 ora geographic coordinate. An index 314 may, for example, store staticmarker data 308 in relation to geographic locations or objects relatingto one or more locations.

The geographic database 123 may also include other attributes of orabout roads such as, for example, geographic coordinates, physicalgeographic features (e.g., lakes, rivers, railroads, municipalities,etc.) street names, address ranges, speed limits, turn restrictions atintersections, and/or other navigation related attributes (e.g., one ormore of the road segments is part of a highway or toll way, the locationof stop signs and/or stoplights along the road segments), as well asPOIs, such as gasoline stations, hotels, restaurants, museums, stadiums,offices, automobile dealerships, auto repair shops, buildings, stores,parks, municipal facilities, other businesses, etc. The geographicdatabase 123 may also contain one or more node data record(s) 306 whichmay be associated with attributes (e.g., about the intersections) suchas, for example, geographic coordinates, street names, address ranges,speed limits, turn restrictions at intersections, and other navigationrelated attributes, as well as POIs such as, for example, gasolinestations, hotels, restaurants, museums, stadiums, offices, automobiledealerships, auto repair shops, buildings, stores, parks, etc. Thegeographic data 302 may additionally or alternatively include other datarecords such as, for example, POI data records, topographical datarecords, cartographic data records, routing data, and maneuver data.Other contents of the database 123 may include temperature, altitude orelevation, lighting, sound or noise level, humidity, atmosphericpressure, wind speed, the presence of magnetic fields, electromagneticinterference, or radio- and micro-waves, cell tower and wi-fiinformation, such as available cell tower and wi-fi access points, andattributes pertaining to specific approaches to a specific location.

The geographic database 123 may include historical traffic speed datafor one or more road segments. The geographic database 123 may alsoinclude traffic attributes for one or more road segments. A trafficattribute may indicate that a road segment has a high probability oftraffic congestion.

FIG. 15 shows some of the components of a road segment data record 304contained in the geographic database 123 according to one embodiment.The road segment data record 304 may include a segment ID 304(1) bywhich the data record can be identified in the geographic database 123.Each road segment data record 304 may have associated with itinformation (such as “attributes”, “fields”, etc.) that describesfeatures of the represented road segment. The road segment data record304 may include data 304(2) that indicate the restrictions, if any, onthe direction of vehicular travel permitted on the represented roadsegment. The road segment data record 304 may include data 304(3) thatindicate a speed limit or speed category (i.e., the maximum permittedvehicular speed of travel) on the represented road segment. The roadsegment data record 304 may also include classification data 304(4)indicating whether the represented road segment is part of a controlledaccess road (such as an expressway), a ramp to a controlled access road,a bridge, a tunnel, a toll road, a ferry, and so on. The road segmentdata record may include location fingerprint data, for example a set ofsensor data for a particular location.

The geographic database 123 may include road segment data records 304(or data entities) that describe features such as road objects 304(5).The road objects 304(5) may be stored according to location boundariesor vertices. The road objects 304(5) may be stored as a field or recordusing a scale of values such as from 1 to 100 for type or size. The roadobjects may be stored using categories such as low, medium, or high.Additional schema may be used to describe the road objects. Theattribute data may be stored in relation to a link/segment 304, a node306, a strand of links, a location fingerprint, an area, or a region.The geographic database 123 may store information or settings fordisplay preferences. The geographic database 123 may be coupled to adisplay. The display may be configured to display the roadway networkand data entities using different colors or schemes.

The road segment data record 304 also includes data 304(7) providing thegeographic coordinates (e.g., the latitude and longitude) of the endpoints of the represented road segment. In one embodiment, the data304(7) are references to the node data records 306 that represent thenodes corresponding to the end points of the represented road segment.

The road segment data record 304 may also include or be associated withother data 304(7) that refer to various other attributes of therepresented road segment. The various attributes associated with a roadsegment may be included in a single road segment record, or may beincluded in more than one type of record which cross-references to eachother. For example, the road segment data record 304 may include dataidentifying what turn restrictions exist at each of the nodes whichcorrespond to intersections at the ends of the road portion representedby the road segment, the name, or names by which the represented roadsegment is identified, the street address ranges along the representedroad segment, and so on.

FIG. 15 also shows some of the components of a node data record 306 thatmay be contained in the geographic database 123. Each of the node datarecords 306 may have associated information (such as “attributes”,“fields”, etc.) that allows identification of the road segment(s) thatconnect to it and/or its geographic position (e.g., its latitude andlongitude coordinates). The node data records 306(1) and 306(2) includethe latitude and longitude coordinates 306(1)(1) and 306(2)(1) for theirnode, and static marker data 306 (1)(2) and 306(2)(2), which may includegeographic locations and identity codes associated with specificmarkers. The static marker data 306 (1)(2) and 306(2)(2) may changedynamically or over time as markers are added and removed from thegeographic database 123. The node data records 306(1) and 306(2) mayalso include other data 306(1)(3) and 306(2)(3) that refer to variousother attributes of the nodes.

The geographic database 123 may be maintained by a content provider(e.g., a map developer). By way of example, the map developer maycollect geographic data to generate and enhance the geographic database123. The map developer may obtain data from sources, such as businesses,municipalities, or respective geographic authorities. In addition, themap developer may employ field personnel to travel throughout ageographic region to observe features and/or record information aboutthe roadway. Remote sensing, such as aerial or satellite photography,may be used. The database 123 may be incorporated in or connected to theserver 125.

The geographic database 123 and the data stored within the geographicdatabase 123 may be licensed or delivered on-demand. Other navigationalservices or traffic server providers may access the location fingerprintdata, traffic data and/or the lane line object data stored in thegeographic database 123.

The processor (controller) 200 and/or processor (controller) 300 mayinclude a general processor, digital signal processor, an applicationspecific integrated circuit (ASIC), field programmable gate array(FPGA), analog circuit, digital circuit, combinations thereof, or othernow known or later developed processor. The processor 200 and/orprocessor 300 may be a single device or combinations of devices, such asassociated with a network, distributed processing, or cloud computing.

The memory 204 and/or memory 301 may be a volatile memory or anon-volatile memory. The memory 204 and/or memory 301 may include one ormore of a read only memory (ROM), random access memory (RAM), a flashmemory, an electronic erasable program read only memory (EEPROM), orother type of memory. The memory 204 and/or memory 801 may be removablefrom the mobile device 122, such as a secure digital (SD) memory card.

The communication interface 205 and/or communication interface 305 mayinclude any operable connection. An operable connection may be one inwhich signals, physical communications, and/or logical communicationsmay be sent and/or received. An operable connection may include aphysical interface, an electrical interface, and/or a data interface.The communication interface 205 and/or communication interface 305provides for wireless and/or wired communications in any now known orlater developed format.

The databases 123 may include geographic data used for traffic and/ornavigation-related applications. The geographic data may include datarepresenting a road network or system including road segment data andnode data. The road segment data represent roads, and the node datarepresent the ends or intersections of the roads. The road segment dataand the node data indicate the location of the roads and intersectionsas well as various attributes of the roads and intersections. Otherformats than road segments and nodes may be used for the geographicdata. The geographic data may include structured cartographic data orpedestrian routes.

The databases may also include other attributes of or about the roadssuch as, for example, geographic coordinates, street names, addressranges, speed limits, turn restrictions at intersections, and/or othernavigation related attributes (e.g., one or more of the road segments ispart of a highway or toll way, the location of stop signs and/orstoplights along the road segments), as well as points of interest(POIs), such as gasoline stations, hotels, restaurants, museums,stadiums, offices, automobile dealerships, auto repair shops, buildings,stores, parks, etc. The databases may also contain one or more node datarecord(s) which may be associated with attributes (e.g., about theintersections) such as, for example, geographic coordinates, streetnames, address ranges, speed limits, turn restrictions at intersections,and other navigation related attributes, as well as POIs such as, forexample, gasoline stations, hotels, restaurants, museums, stadiums,offices, automobile dealerships, auto repair shops, buildings, stores,parks, etc. The geographic data may additionally or alternativelyinclude other data records such as, for example, POI data records,topographical data records, cartographic data records, routing data, andmaneuver data.

The databases may include historical traffic speed data for one or moreroad segments. The databases may also include traffic attributes for oneor more road segments. A traffic attribute may indicate that a roadsegment has a high probability of traffic congestion.

The input device 203 may be one or more buttons, keypad, keyboard,mouse, stylus pen, trackball, rocker switch, touch pad, voicerecognition circuit, or other device or component for inputting data tothe mobile device 122. The input device 203 and display 211 may becombined as a touch screen, which may be capacitive or resistive. Thedisplay 211 may be a liquid crystal display (LCD) panel, light emittingdiode (LED) screen, thin film transistor screen, or another type ofdisplay. The output interface of the display 211 may also include audiocapabilities, or speakers. In an embodiment, the input device 203 mayinvolve a device having velocity detecting abilities.

The positioning circuitry 207 may include suitable sensing devices thatmeasure the traveling distance, speed, direction, and so on, of themobile device 122. The positioning system may also include a receiverand correlation chip to obtain a GPS signal. Alternatively oradditionally, the one or more detectors or sensors may include anaccelerometer, and/or a magnetic sensor built or embedded into or withinthe interior of the mobile device 122. The accelerometer is operable todetect, recognize, or measure the rate of change of translational and/orrotational movement of the mobile device 122. The magnetic sensor, or acompass, is configured to generate data indicative of a heading of themobile device 122. Data from the accelerometer and the magnetic sensormay indicate orientation of the mobile device 122. The mobile device 122receives location data from the positioning system. The location dataindicates the location of the mobile device 122.

The positioning circuitry 207 may include a Global Positioning System(GPS), Global Navigation Satellite System (GLONASS), or a cellular orsimilar position sensor for providing location data. The positioningsystem may utilize GPS-type technology, a dead reckoning-type system,cellular location, or combinations of these or other systems. Thepositioning circuitry 207 may include suitable sensing devices thatmeasure the traveling distance, speed, direction, and so on, of themobile device 122. The positioning system may also include a receiverand correlation chip to obtain a GPS signal. The mobile device 122receives location data from the positioning system. The location dataindicates the location of the mobile device 122.

The position circuitry 207 may also include gyroscopes, accelerometers,magnetometers, or any other device for tracking or determining movementof a mobile device. The gyroscope is operable to detect, recognize, ormeasure the current orientation, or changes in orientation, of a mobiledevice. Gyroscope orientation change detection may operate as a measureof yaw, pitch, or roll of the mobile device.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the invention is not limited to suchstandards and protocols. For example, standards for Internet and otherpacket switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP,HTTPS) represent examples of the state of the art. Such standards areperiodically superseded by faster or more efficient equivalents havingessentially the same functions. Accordingly, replacement standards andprotocols having the same or similar functions as those disclosed hereinare considered equivalents thereof.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a standalone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

As used in this application, the term ‘circuitry’ or ‘circuit’ refers toall of the following: (a)hardware-only circuit implementations (such asimplementations in only analog and/or digital circuitry) and (b) tocombinations of circuits and software (and/or firmware), such as (asapplicable): (i) to a combination of processor(s) or (ii) to portions ofprocessor(s)/software (including digital signal processor(s)), software,and memory(ies) that work together to cause an apparatus, such as amobile phone or server, to perform various functions) and (c) tocircuits, such as a microprocessor(s) or a portion of amicroprocessor(s), that require software or firmware for operation, evenif the software or firmware is not physically present.

This definition of ‘circuitry’ applies to all uses of this term in thisapplication, including in any claims. As a further example, as used inthis application, the term “circuitry” would also cover animplementation of merely a processor (or multiple processors) or portionof a processor and its (or their) accompanying software and/or firmware.The term “circuitry” would also cover, for example and if applicable tothe particular claim element, a baseband integrated circuit orapplications processor integrated circuit for a mobile phone or asimilar integrated circuit in server, a cellular network device, orother network device.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andanyone or more processors of any kind of digital computer. Generally, aprocessor receives instructions and data from a read only memory or arandom-access memory or both. The essential elements of a computer are aprocessor for performing instructions and one or more memory devices forstoring instructions and data. Generally, a computer also includes, orbe operatively coupled to receive data from or transfer data to, orboth, one or more mass storage devices for storing data, e.g., magnetic,magneto optical disks, or optical disks. However, a computer need nothave such devices. Moreover, a computer can be embedded in anotherdevice, e.g., a mobile telephone, a personal digital assistant (PDA), amobile audio player, a Global Positioning System (GPS) receiver, to namejust a few. Computer readable media suitable for storing computerprogram instructions and data include all forms of non-volatile memory,media and memory devices, including by way of example semiconductormemory devices, e.g., EPROM, EEPROM, and flash memory devices; magneticdisks, e.g., internal hard disks or removable disks; magneto opticaldisks; and CD ROM and DVD-ROM disks. The processor and the memory can besupplemented by, or incorporated in, special purpose logic circuitry. Inan embodiment, a vehicle may be considered a mobile device, or themobile device may be integrated into a vehicle.

To provide for interaction with a user, embodiments of the subjectmatter described in this specification can be implemented on a devicehaving a display, e.g., a CRT (cathode ray tube) or LCD (liquid crystaldisplay) monitor, for displaying information to the user and a keyboardand a pointing device, e.g., a mouse or a trackball, by which the usercan provide input to the computer. Other kinds of devices can be used toprovide for interaction with a user as well; for example, feedbackprovided to the user can be any form of sensory feedback, e.g., visualfeedback, auditory feedback, or tactile feedback; and input from theuser can be received in any form, including acoustic, speech, or tactileinput.

The term “computer-readable medium” includes a single medium or multiplemedia, such as a centralized or distributed database, and/or associatedcaches and servers that store one or more sets of instructions. The term“computer-readable medium” shall also include any medium that is capableof storing, encoding or carrying a set of instructions for execution bya processor or that cause a computer system to perform any one or moreof the methods or operations disclosed herein.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to capturecarrier wave signals such as a signal communicated over a transmissionmedium. A digital file attachment to an e-mail or other self-containedinformation archive or set of archives may be considered a distributionmedium that is a tangible storage medium. Accordingly, the disclosure isconsidered to include any one or more of a computer-readable medium or adistribution medium and other equivalents and successor media, in whichdata or instructions may be stored. These examples may be collectivelyreferred to as a non-transitory computer readable medium.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front end component, e.g., aclient computer having a graphical user interface or a Web browserthrough which a user can interact with an implementation of the subjectmatter described in this specification, or any combination of one ormore such back end, middleware, or front end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be minimized. Accordingly, thedisclosure and the figures are to be regarded as illustrative ratherthan restrictive.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the invention or of what may beclaimed, but rather as descriptions of features specific to particularembodiments of the invention. Certain features that are described inthis specification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable sub-combination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a sub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings and describedherein in a particular order, this should not be understood as requiringthat such operations be performed in the particular order shown or insequential order, or that all illustrated operations be performed, toachieve desirable results. In certain circumstances, multitasking andparallel processing may be advantageous. Moreover, the separation ofvarious system components in the embodiments described above should notbe understood as requiring such separation in all embodiments.

One or more embodiments of the disclosure may be referred to herein,individually and/or collectively, by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any particular invention or inventive concept. Moreover,although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, are apparent to those of skill in the artupon reviewing the description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be usedto interpret or limit the scope or meaning of the claims. In addition,in the foregoing Detailed Description, various features may be groupedtogether or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

It is intended that the foregoing detailed description be regarded asillustrative rather than limiting and that it is understood that thefollowing claims including all equivalents are intended to define thescope of the invention. The claims should not be read as limited to thedescribed order or elements unless stated to that effect. Therefore, allembodiments that come within the scope and spirit of the followingclaims and equivalents thereto are claimed as the invention.

The following example embodiments of the invention are also disclosed:

Embodiment 1

A method for collaborative localization of multiple devices in ageographic area, the method comprising:

receiving global localization data originating with one or moreneighboring devices;

receiving local localization data originating with a mobile device;

determining a first confidence level from the local localization data;

determining a second confidence level from the global localization data;and

performing, by a processor, a collaborative localization calculation forthe mobile device based on the first confidence level and the secondconfidence level.

Embodiment 2

The method of embodiment 1, wherein the one or more neighboring devicesincludes at least one aerial vehicle.

Embodiment 3

The method of any of embodiments 1 and 2, wherein the globallocalization data includes location data derived from an image of amarker collected by the at least one aerial vehicle.

Embodiment 4

The method of any of embodiments 1-3, wherein the image of the marker ismatched with a geographic database.

Embodiment 5

The method of any of embodiments 1-4, wherein the local localizationdata includes include signal based ranging, object based ranging,triangulation, or trilateration.

Embodiment 6

The method of any of embodiments 1-5, wherein the local localizationdata includes (GPS).

Embodiment 7

The method of any of embodiments 1-6, further comprising:

calculating a relative position between the mobile device and the one ormore neighboring devices.

Embodiment 8

The method of any of embodiments 1-7, wherein the relative position iscalculated from time of arrival, time difference of arrival, angle ofarrival, trilateration, or triangulation.

Embodiment 9

The method of any of embodiments 1-8, further comprising:

identifying a collaborative location threshold; and

performing a comparison of the second confidence level from the globallocalization data to the collaborative location threshold.

Embodiment 10

The method of any of embodiments 1-9, further comprising:

generating a flight command for the one or more neighboring devicesbased on the comparison of the second confidence level from the globallocalization data to the collaborative location threshold.

Embodiment 11

The method of any of embodiments 1-10, wherein the one or moreneighboring devices includes two neighboring devices and the secondconfidence level is from a first neighboring device, the methodcomprising:

determining a third confidence level from a second neighboring device;

performing a comparison of the second confidence level to the thirdconfidence level; and

selecting the first neighboring device or the second neighboring devicefor the collaborative localization calculation based on the comparison.

Embodiment 12

The method of any of embodiments 1-11, wherein a distance and adirection between the mobile device and one or more neighboring devicesis calculated from a signal transmitted between the mobile device andone or more neighboring devices.

Embodiment 13

An apparatus, configured to perform and/or control the method of any ofembodiments 1-12 or comprising means for performing and/or controllingany of embodiments 1-12.

Embodiment 14

An apparatus, comprising at least one processor and at least one memoryincluding computer program code for one or more programs, the at leastone memory and the computer program code configured to, with the atleast one processor, to perform and/or control the method of any ofembodiments 1-12.

Embodiment 15

A computer program comprising instructions operable to cause a processorto perform and/or control the method of any of embodiments 1-12, whenthe computer program is executed on the processor.

I claim:
 1. A method for collaborative localization of multiple devicesin a geographic area, the method comprising: receiving globallocalization data originating with one or more neighboring devices;receiving local localization data originating with a mobile device;determining a first confidence level from the local localization data;determining a second confidence level from the global localization data;and performing, by a processor, a collaborative localization calculationfor the mobile device based on the first confidence level and the secondconfidence level.
 2. The method of claim 1, wherein the one or moreneighboring devices includes at least one aerial vehicle.
 3. The methodof claim 2, wherein the global localization data includes location dataderived from an image of a marker collected by the at least one aerialvehicle.
 4. The method of claim 3, wherein the image of the marker ismatched with a geographic database.
 5. The method of claim 1, whereinthe local localization data includes include signal based ranging,object based ranging, triangulation, or trilateration.
 6. The method ofclaim 1, wherein the local localization data includes global positioningsystem (GPS) data.
 7. The method of claim 1, further comprising:calculating a relative position between the mobile device and the one ormore neighboring devices.
 8. The method of claim 7, wherein the relativeposition is calculated from time of arrival, time difference of arrival,angle of arrival, trilateration, or triangulation.
 9. The method ofclaim 1, further comprising: identifying a collaborative locationthreshold; and performing a comparison of the second confidence levelfrom the global localization data to the collaborative locationthreshold.
 10. The method of claim 9, further comprising: generating aflight command for the one or more neighboring devices based on thecomparison of the second confidence level from the global localizationdata to the collaborative location threshold.
 11. The method of claim 1,wherein the one or more neighboring devices includes two neighboringdevices and the second confidence level is from a first neighboringdevice, the method comprising: determining a third confidence level froma second neighboring device; performing a comparison of the secondconfidence level to the third confidence level; and selecting the firstneighboring device or the second neighboring device for thecollaborative localization calculation based on the comparison.
 12. Themethod of claim 1, wherein a distance and a direction between the mobiledevice and one or more neighboring devices is calculated from a signaltransmitted between the mobile device and one or more neighboringdevices.
 13. An apparatus for collaborative localization of multipledevices in a geographic area, the apparatus comprising: a localizationdatabase including global localization data originating with one or moreneighboring devices and associated with a first confidence level basedon a variance of the global localization data and local localizationdata originating with a mobile device and associated with a secondconfidence level based on a variance of the local localization data; anda collaborative localization controller configured to perform acollaborative localization calculation for the mobile device based onthe first confidence level and the second confidence level.
 14. A systemfor collaborative localization of multiple devices in a geographic area,the system comprising: a mobile device configured to perform a firstlocalization and calculate a first confidence level; and a droneconfigured to perform a second localization and calculate a secondconfidence level, wherein a collaborative localization calculation for alocation of the mobile device is based on the first confidence level,the second confidence level, the first localization, and the secondlocalization.
 15. The system of claim 14, further comprising: a serverconfigured to perform the collaborative localization calculation for themobile device based on the first confidence level, the second confidencelevel, the first localization, and the second localization.
 16. Thesystem of claim 14, wherein the mobile device is configured to performthe collaborative localization calculation for the mobile device basedon the first confidence level, the second confidence level, the firstlocalization, and the second localization.
 17. The system of claim 14,wherein the collaborative localization calculation includes a comparisonof the first confidence level and the second confidence level.
 18. Thesystem of claim 14, wherein when the first confidence level exceeds thesecond confidence level, localization calculated at the mobile device isapplied to the location of the mobile device.
 19. The system of claim14, wherein when the second confidence level exceeds the firstconfidence level, localization calculated at an aerial vehicle isapplied to the location of the mobile device.
 20. The system of claim19, wherein the localization calculated at the aerial vehicle is basedon a static marker calibrated with a geographic database.